package at.pp.match3.game.render;

import android.graphics.Bitmap;
import android.graphics.Rect;

public abstract class GameAsset implements Renderable, Updateable, Selectable {

    protected int positionX;
    protected int positionY;

    protected boolean isSelecatable;
    protected boolean isSelected;
    protected Rect selectionRect;

    protected Bitmap bitmap;
    protected Bitmap selectedBitmap;
    protected Bitmap originalBitmap;

    public GameAsset() {
        positionX = 0;
        positionY = 0;
    }

    public GameAsset(final int positionX, int positionY) {
        this.positionX = positionX;
        this.positionY = positionY;
    }

    public GameAsset(final int positionX, int positionY, Bitmap bitmap) {
        this(positionX, positionY);
        this.bitmap = bitmap;
    }

    public final void setPositionX(final int positionX) {
        this.positionX = positionX;
    }

    public final int getPositionX() {
        return positionX;
    }

    public final void setPositionY(final int positionY) {
        this.positionY = positionY;
    }

    public final int getPositionY() {
        return positionY;
    }

    public final void setBitmap(final Bitmap bitmap) {
        this.bitmap = bitmap;
    }

    public final Bitmap getBitmap() {
        return bitmap;
    }

    public final void setSelectBitmap(final Bitmap selectedBitmap) {
        this.selectedBitmap = selectedBitmap;
    }

    public final boolean isSelected() {
        return isSelected;
    }

    public final void setSelected(final boolean isSelected) {
        this.isSelected = isSelected;
    }

    public final Rect getSelectionRect() {
        return selectionRect;
    }

    public final boolean isSelecatable() {
        return isSelecatable;
    }

    public final void setSelecatable(final boolean isSelecatable) {
        this.isSelecatable = isSelecatable;
    }
}
